<!DOCTYPE html>
<html>
<head>
    <title>我的游记</title>
    <meta charset="utf-8"/>
    <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
    <link rel="stylesheet" href="/js/bootstrap/css/bootstrap.min.css">
    <script src="/js/jquery/jquery.min.js"></script>
    <script src="/js/bootstrap/js/bootstrap.min.js"></script>
    <script src="/js/plugins/jrender/jrender.js"></script>
    <link rel="stylesheet" href="/css/font/css/font-awesome.min.css"/>
    <link rel="stylesheet" href="/css/reset.css"/>
    <link rel="stylesheet" href="/css/userTravels.css"/>
    <link rel="stylesheet" href="/js/plugins/dialog/dialog.css"/>
    <script src="/js/plugins/dialog/dialog.min.js"></script>

</head>

<body>
    <div class="search-head">
        <div class="row nav-search">
            <div class="col">
                <a href="profiles.html">
                    <span><i class="fa fa-chevron-left"></i></span>
                </a>
            </div>
            <div class="col">
                <span>我的游记</span>
            </div>
            <div class="col"></div>
        </div>
    </div>

    <div class="container travels">
        <dl class="list" render-loop="list">
            <dd>
                <a href="editTravels.html" render-key="list.id" render-fun="handler">
                    <img render-src="list.coverUrl">
                    <h6 class="title" render-html="list.title"></h6>
                    <p>最近更新时间 <span render-html="list.lastUpdateTime"></span>
                        <span class="span-right">
                        <i class="fa fa-heart"></i><span>0</span>收藏
                        <i class="fa fa-thumbs-o-up"></i><span>0</span>点赞</span>
                    </p>
                </a>
            </dd>
        </dl>
    </div>
<script>
    $(function () {
        //全局变量
        var currentPage ;//当前页
        var pages ;//总页数
        var totalData ;//返回回来的数据
        //先拿到当前的登录用户先
        var user = JSON.parse(sessionStorage.getItem("user"));

        //页面记载完之后就发送ajax,get请求到资源里面去，获取到数据,第一次访问不用带当前页等这些数据
        $.get("/users/"+user.id+"/travels",function (data) {
            console.log(data);
            //数据已经拿到了，接下来要使用jrender来渲染数据
            renderView(data);
            //将总页数赋值给全局变量
            pages = data.pages ;
            //并且把当前页也赋给全局变量
            currentPage = data.pageNum ;
            //将数据存储到全局变量里面
            totalData = data.list ;
        })

        //定义一个事件，当屏幕滚动的时候会触发的事件
        $(window).scroll(function () {
            console.log(isEnd());
            //已经定义好了判断这个滚动条是否到了底部的方法，现在只需要去判断它执行响应的操作即可
            if(isEnd()){
                //当滚动条到达了底部之后，就判断当前的页数是否是最后一页了，是的话就给个友好的提示，不然就继续发送请求获取数据
                if(currentPage>=pages){
                    //如果滚动到了底部就给个友好的提示，使用dialog这个插件进行有好的提示
                    $(document).dialog({
                        type : 'notice',
                        infoText: "已经到底了，兄地,再滚就穿了",
                        autoClose: 1500,
                        position: 'bottom'  // center: 居中; bottom: 底部
                    });
                }else{
                    //到底了之后当前页数还不是最后一页，就继续发送请求获取数据
                    //当前页自增，然后传送过去给控制器
                    currentPage = ++currentPage ;
                    console.log(currentPage);//打印当前页自增之后的数
                    //发送请求，获取第二页的数据
                    $.get("/users/"+user.id+"/travels",{currentPage:currentPage},function (data) {
                        //将返回过来的分页数据重新渲染,直接渲染返回过来的数据的话会造成数据丢失，要将之前的数据合并起来一起渲染
                        $.merge(totalData,data.list);
                        //渲染视图
                        renderView({list:totalData});//因为只存储了返回数据中的list进去，所以要硬塞成一个json对象进去
                    })
                }
            }
        })

        //定义一个函数，判断当前溢出高度加上当前的窗口高度是否大于整个页面的高度
        function isEnd() {
            //返回true或者false
            return $(window).height() + $(window).scrollTop() >= $(document).height();
        }
        //用来渲染数据的函数
        function renderView(data) {
            $(".travels").renderValues(data,{
                //属性名就是函数的名字？？？？
                handler:function (ele,value) {

                    $(ele).attr("href","/mine/editTravels.html?id="+value);
                }
            });
        }
    })
</script>
</body>
</html>
